#ifndef HOOK_H
#define HOOK_H

#if !defined DWORD
typedef unsigned long DWORD;
#endif

typedef unsigned long address_t;


void init_hooks();


bool hook_e8(DWORD address, DWORD func_addr);
bool hook_e9(DWORD address, DWORD func_addr);
bool hook_ff15(DWORD address, DWORD func_addr);
bool hook_8b1d(DWORD address, DWORD func_addr);


extern address_t samp_on_chat_print;
extern address_t samp_is_bad_nick;
extern address_t samp_yes;
extern address_t samp_no;
extern address_t samp_void;


void call_i(address_t addr, address_t obj);
void call_iii(address_t addr, address_t obj, int i1, int i2);
void call_iissi(address_t addr, address_t obj, int i1, const char * s1, const char * s2, int i2);

#endif

